$(function() {
    // 全选 全不选功能模块
    // 将全选按钮(checkall)的状态赋值给三个小按钮(j-checkbox)
    // 事件使用 change
    // checked 是选中时的状态属性
    $(".checkall").change(function() {
        $(".j-checkbox, .checkall").prop("checked", $(this).prop("checked"));
        if ($(this).prop("checked")) {
            $(".item").addClass("cart-item");

        } else {
            $(".item").removeClass("cart-item");
        }
    });
    $(".j-checkbox").change(function() {
        if ($(".j-checkbox:checked").length === $(".j-checkbox").length) {
            $(".checkall").prop("checked", true);
        } else {
            $(".checkall").prop("checked", false);
        }
        if ($(this).prop("checked")) {
            $(this).parents(".item").addClass("cart-item");

        } else {
            $(this).parents(".item").removeClass("cart-item");
        }
    });

    // 增减商品数量
    $(".increment").click(function() {
        // 得到当前文本框的值 this
        var n = $(this).siblings(".itxt").val();
        n++;
        $(this).siblings(".itxt").val(n);
        // 小计模块
        // 当前价格
        // parents()返回祖先元素 parents(".it")返回指定的祖先元素
        var p = $(this).parent().siblings(".it1").html();
        p = p.substr(1); //从第一个开始截取
        console.log(p);
        var price = (p * n).toFixed(2); //保留两位小数
        $(this).parent().siblings(".it3").html("￥" + price);
        getSum();
    });
    $(".decrement").click(function() {
        var n = $(this).siblings(".itxt").val();
        if (n == 1) {
            return false;
        }
        n--;
        $(this).siblings(".itxt").val(n);
        var p = $(this).parent().siblings(".it1").html();
        p = p.substr(1); //从第一个开始截取
        console.log(p);
        var price = (p * n).toFixed(2); //保留两位小数
        $(this).parent().siblings(".it3").html("￥" + price);
        getSum();
    });

    // 用户修改文本框 计算小计
    $(".itxt").change(function() {
        // 先得到当前价格
        var n = $(this).val();
        // 当前商品价格
        var p = $(this).parent().siblings(".it1").html();
        p = p.substr(1); //从第一个开始截取
        console.log(p);
        var price = (p * n).toFixed(2); //保留两位小数
        $(this).parent().siblings(".it3").html("￥" + price);
        getSum();
    });

    // 核心思路：把所有文本框里的值相加就是总计数量
    // 文本框里的值不同，如果要相加就需要得到each遍历，声明一个变量相加即可
    // 点击+号-号，会改变总计和总额，以上2个操作调用这个函数即可
    // 计算总计 总额
    getSum();

    function getSum() {
        var count = 0; //总件数
        var money = 0; //计算总价钱
        $(".itxt").each(function(i, ele) {
            count += parseInt($(ele).val());
        });
        $(".amount strong").text(count);
        $(".it3").each(function(i, ele) {
            money += parseFloat($(ele).text().substr(1)); //先把值取出来 然后去掉￥ 再变成浮点数
        });
        $(".price strong").text("￥" + money.toFixed(2)); //总价保留两位小数
    };

    // 删除商品
    $(".it4 a").click(function() {
        // 删除当前商品
        $(this).parents(".item").remove();
        getSum();
    });
    // 删除选中商品
    $(".remove").click(function() {
        $(".j-checkbox:checked").parents(".item").remove();
        getSum();
    });
    // 清空购物车
    $(".chear").click(function() {
        $(".item").remove();
        getSum();
    });
})